/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including but not limited to the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to provide persons with access to the Software
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGE OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

export const sideBarProperty = ['scope', 'side-bar-container-type', 'show-side-bar', 'control-button', 'show-control-button', 'side-bar-width', 
  'min-side-bar-width', 'max-side-bar-width', 'auto-hide', 'side-bar-position', 'divider', 'min-content-width'];

export enum SideBarContainerType {
  Embed = 'Embed',
  Overlay = 'Overlay',
  AUTO = 'AUTO',
}

interface Icon {
  shown: string,
  hidden: string,
}

export interface ButtonStyle {
  left?: number,
  top?: number,
  width?: number,
  height?: number,
  icons?: Icon,
}

export enum SideBarPosition {
  Start = 'Start',
  End = 'End',
}

export interface DividerStyle {
  strokeWidth: string | number,
  color?: string,
  startMargin?: string | number,
  endMargin?: string | number,
}